package com.wicket.okrframework.base.service;

import com.wicket.okrframework.dal.po.mbg.Dept;
import com.wicket.okrframework.base.service.dto.req.*;
// import com.wicket.okrframework.base.service.dto.res.*;

import java.util.List;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
public interface MDeptService {
/**
   * 1-3-09新增部门
   */
    String addDept(Dept dept);
/**
   * 1-3-09修改部门
   */
    boolean updateDept(Dept dept);
/**
   * 1-3-09删除部门
   */
    boolean deleteDept(String deptId );
/**
   * 1-3-09查询部门列表
   */
    List<Dept> queryDeptList(QueryDeptListReq reqDto);
/**
   * 1-3-09查询部门详情
   */
    Dept queryDeptDetail(QueryDeptDetailReq reqDto);
/**
   * 1-3-09批量查询部门列表
   */
    List<Dept> batchQueryDeptList(BatchQueryDeptListReq reqDto);
/**
   * 1-3-09批量查询部门列表
   */
    List<Dept> batchQueryDept(BatchQueryDeptReq reqDto);
/**
   * M-构造部门树状结构特殊方法
   */
    List<Dept> querySpecMethodTreeList(QuerySpecMethodTreeListReq reqDto);
/**
   * 1-3-09模糊查询部门列表
   */
    List<Dept> vagueQueryDept(VagueQueryDeptReq reqDto);
/**
   * 1-3-09查询一级部门列表ByIds（暂没有使用，以后预留）
   */
    List<Dept> batchQueryOneLevelDeptListByIds(BatchQueryOneLevelDeptListByIdsReq reqDto);
/**
   * 1-3-09查询部门树状结构列表
   */
    List<Dept> queryDeptTreeList(QueryDeptTreeListReq reqDto);
/**
   * 1-3-09批量查询下级直属部门
   */
    List<Dept> batchQuerySubordinateDirectlyDept(BatchQuerySubordinateDirectlyDeptReq reqDto);
/**
   * M1去重过滤已存在的部门
   */
    List<Dept> unrepeatedFilterExistingDept(UnrepeatedFilterExistingDeptReq reqDto);
/**
   * 1-3-09批量改部门主管
   */
    boolean batchUpdateDeptDirector(List<Dept> dept);
/**
   * 1-3-09批量改部门
   */
    boolean batchUpdateDept(List<Dept> dept);
/**
   * 1-3-1查询下级直属部门详情
   */
    Dept querySubordinateDirectlyDeptDetail(QuerySubordinateDirectlyDeptDetailReq reqDto);
/**
   * M1查询部门测试列表
   */
    List<Dept> queryDeptTestDataList(QueryDeptTestDataListReq reqDto);
/**
   * M1批量删部门测试
   */
    boolean batchDeleteDeptTestData(List<String> reqDto);
/**
   * 1-3-09批量查询部门列表ByCode
   */
    List<Dept> batchQueryDeptByCode(BatchQueryDeptByCodeReq reqDto);
/**
   * 1-3-09查询组织下部门列表
   */
    List<Dept> queryOrgBelowDeptList(QueryOrgBelowDeptListReq reqDto);
/**
   * 1-3-09修改部门清除值
   */
    boolean updateDeptClear(Dept dept);
/**
   * 1-3-09批量查询部门By主键ID
   */
    List<Dept> batchQueryDeptByEntiyId(BatchQueryDeptByEntiyIdReq reqDto);
//
}

